// pages/project/project.js
import utils from '../../utils/projectUtil'
import billUtils from '../../utils/detailsUtil'
var app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    projectList: [],
    modalName: null,
    ListTouchDirection: null,
    selectProject: null
  },
  /**
   * 项目详情
   * @param {*} params 
   */
  projectInfo: function (params) {
    app.globalData.projectId = params.currentTarget.dataset.item.id;
    wx.navigateTo({
      url: '/pages/bill/bill'
    })
  },
  /**
   * 新增项目
   * @param {*} params 
   */
  AddProject: function (params) {
    app.globalData.isAddProject = true
    app.globalData.projectInfo = null
    wx.navigateTo({
      url: './projectInfo/projectInfo'
    })
  },
  /**
   * ListTouch触摸开始
   * @param {*} e 
   */
  ListTouchStart(e) {
    this.setData({
      ListTouchStart: e.touches[0].pageX
    })
  },

  // ListTouch计算方向
  ListTouchMove(e) {
    this.setData({
      ListTouchDirection: e.touches[0].pageX - this.data.ListTouchStart > 0 ? 'right' : 'left'
    })
  },

  /**
   * ListTouch计算滚动
   * @param {*} e 
   */
  ListTouchEnd(e) {
    if (this.data.ListTouchDirection == 'left') {
      this.setData({
        modalName: e.currentTarget.dataset.target
      })
    } else {
      this.setData({
        modalName: null
      })
    }
    this.setData({
      ListTouchDirection: null
    })
  },
  /**
   * 显示删除项目
   * @param {*} e 
   */
  ShowDeleteProject: function (e) {
    this.setData({
      modalName: "DeleteDialogModal",
      selectProject: e.currentTarget.dataset.target
    })
  },
  /**
   * 关闭弹框
   * @param {*} params 
   */
  hideModal: function (params) {
    this.setData({
      modalName: null
    })
  },
  /**
   * 删除项目
   * @param {*} e 
   */
  DeleteProject: function (e) {
    utils.deleteProject(this.data.selectProject.id, (res) => {
      billUtils.deleteBillsProject(this.data.selectProject.id, (res) => {
        this.setData({
          selectProject: null
        })
      })
      this.setData({
        modalName: null,
      })
      utils.getProjects(app.globalData.wxUserInfo.id, (res) => {
        this.setData({
          projectList: res.data.objects
        })
      })
    })
  },
  /**
   * 编辑项目
   * @param {*} e 
   */
  EditProject: function (e) {
    app.globalData.isAddProject = false
    app.globalData.projectInfo = e.target.dataset.target
    wx.navigateTo({
      url: './projectInfo/projectInfo'
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    utils.getProjects(app.globalData.wxUserInfo.id, (res) => {
      this.setData({
        projectList: res.data.objects
      })
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})